<!DOCTYPE html>
<html lang="en">
<head>
    
    <meta charset="utf-8">
    <title>_constant - Zero UI框架专用前端文档</title>
    
    <meta name="description" content="前端开发框架，官方地址：http://www.vertx-ui.cn" />
    
        <meta name="keywords" content="zero,zero-ui,vert.x" />
        <meta name="keyword" content="zero,zero-ui,vert.x" />
    
    
    
    <script src="scripts/prettify/prettify.js"></script>
    <script src="scripts/prettify/lang-css.js"></script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
    <link type="text/css" rel="stylesheet" href="styles/zero.css">
    <script src="scripts/nav.js" defer></script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>

<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
  <div class="navicon"></div>
</label>

<label for="nav-trigger" class="overlay"></label>

<nav >
    
    <input type="text" id="nav-search" placeholder="Search" />
    
    <h2><a href="index.html">Home</a></h2><h2><a href="http://www.vertxai.cn/document/doc-web/index.html" target="_blank" class="menu-item" id="website_link" >「Api」Zero Ai</a></h2><h2><a href="http://www.vertxui.cn/document/doc-web/index.html" target="_blank" class="menu-item" id="website_link" >「Api」Zero Ui</a></h2><h2><a href="http://www.vertxui.cn/document/doc-web-extension/index.html" target="_blank" class="menu-item" id="website_link" >「Api」Zero Ui Extension</a></h2><h2><a href="http://www.vertxui.cn" target="_blank" class="menu-item" id="website_link" >「Home」Zero UI</a></h2><h2><a href="http://www.vertxai.cn" target="_blank" class="menu-item" id="website_link" >「Home」Zero Ai</a></h2><h2><a href="http://www.vertxup.cn" target="_blank" class="menu-item" id="website_link" >「Home」Zero Framework</a></h2><h2><a href="http://www.origin-x.cn" target="_blank" class="menu-item" id="website_link" >「Home」Origin X Engine</a></h2><h3>Classes</h3><ul><li><a href="Ant.html">Ant</a><ul class='methods'><li data-type='method'><a href="Ant.html#.onAddonAfter">onAddonAfter</a></li><li data-type='method'><a href="Ant.html#.onChange">onChange</a></li><li data-type='method'><a href="Ant.html#.onDisabledDate">onDisabledDate</a></li><li data-type='method'><a href="Ant.html#.onFromTo">onFromTo</a></li><li data-type='method'><a href="Ant.html#.onMultiple">onMultiple</a></li><li data-type='method'><a href="Ant.html#.onPlaceHolder">onPlaceHolder</a></li><li data-type='method'><a href="Ant.html#.onPrefix">onPrefix</a></li><li data-type='method'><a href="Ant.html#.onReadOnly">onReadOnly</a></li><li data-type='method'><a href="Ant.html#.onSelect">onSelect</a></li><li data-type='method'><a href="Ant.html#.toConfig">toConfig</a></li><li data-type='method'><a href="Ant.html#.toDatum">toDatum</a></li><li data-type='method'><a href="Ant.html#.toDialogConfig">toDialogConfig</a></li><li data-type='method'><a href="Ant.html#.toMock">toMock</a></li><li data-type='method'><a href="Ant.html#.toOptions">toOptions</a></li><li data-type='method'><a href="Ant.html#.toOrigin">toOrigin</a></li><li data-type='method'><a href="Ant.html#.toParsed">toParsed</a></li><li data-type='method'><a href="Ant.html#.toRecord">toRecord</a></li><li data-type='method'><a href="Ant.html#.toTreeOptions">toTreeOptions</a></li><li data-type='method'><a href="Ant.html#.toUnique">toUnique</a></li></ul></li><li><a href="Cookie.html">Cookie</a><ul class='methods'><li data-type='method'><a href="Cookie.html#.get">get</a></li></ul></li><li><a href="Logger.html">Logger</a><ul class='methods'><li data-type='method'><a href="Logger.html#.filters">filters</a></li><li data-type='method'><a href="Logger.html#.layout">layout</a></li><li data-type='method'><a href="Logger.html#.mock">mock</a></li><li data-type='method'><a href="Logger.html#.render">render</a></li><li data-type='method'><a href="Logger.html#.request">request</a></li><li data-type='method'><a href="Logger.html#.response">response</a></li><li data-type='method'><a href="Logger.html#.sign">sign</a></li></ul></li><li><a href="Session.html">Session</a><ul class='methods'><li data-type='method'><a href="Session.html#.clear">clear</a></li><li data-type='method'><a href="Session.html#.get">get</a></li><li data-type='method'><a href="Session.html#.put">put</a></li><li data-type='method'><a href="Session.html#.remove">remove</a></li></ul></li><li><a href="Storage.html">Storage</a><ul class='methods'><li data-type='method'><a href="Storage.html#.clear">clear</a></li><li data-type='method'><a href="Storage.html#.get">get</a></li><li data-type='method'><a href="Storage.html#.getDirect">getDirect</a></li><li data-type='method'><a href="Storage.html#.put">put</a></li><li data-type='method'><a href="Storage.html#.remove">remove</a></li></ul></li><li><a href="Tree.html">Tree</a><ul class='methods'><li data-type='method'><a href="Tree.html#.CHILDREN">CHILDREN</a></li><li data-type='method'><a href="Tree.html#.CHILDREN_ALL">CHILDREN_ALL</a></li><li data-type='method'><a href="Tree.html#.CHILDREN_ALL_INCLUDE">CHILDREN_ALL_INCLUDE</a></li><li data-type='method'><a href="Tree.html#.PARENT">PARENT</a></li><li data-type='method'><a href="Tree.html#.PARENT_ALL">PARENT_ALL</a></li><li data-type='method'><a href="Tree.html#.PARENT_ALL_INCLUDE">PARENT_ALL_INCLUDE</a></li></ul></li></ul><h3>Modules</h3><ul><li><a href="module-_aggr.html">_aggr</a></li><li><a href="module-_ajax.html">_ajax</a><ul class='methods'><li data-type='method'><a href="module-_ajax.html#.ajax2Dialog">ajax2Dialog</a></li><li data-type='method'><a href="module-_ajax.html#.ajax2Message">ajax2Message</a></li><li data-type='method'><a href="module-_ajax.html#.ajax2True">ajax2True</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxDelete">ajaxDelete</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxDialog">ajaxDialog</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxDownload">ajaxDownload</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxEager">ajaxEager</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxError">ajaxError</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxFetch">ajaxFetch</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxGet">ajaxGet</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxMessage">ajaxMessage</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxPost">ajaxPost</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxPull">ajaxPull</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxPush">ajaxPush</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxPut">ajaxPut</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxResource">ajaxResource</a></li><li data-type='method'><a href="module-_ajax.html#.ajaxUpload">ajaxUpload</a></li><li data-type='method'><a href="module-_ajax.html#.asyncAssist">asyncAssist</a></li><li data-type='method'><a href="module-_ajax.html#.asyncData">asyncData</a></li><li data-type='method'><a href="module-_ajax.html#.asyncImage">asyncImage</a></li><li data-type='method'><a href="module-_ajax.html#.asyncMagic">asyncMagic</a></li><li data-type='method'><a href="module-_ajax.html#.asyncPromise">asyncPromise</a></li><li data-type='method'><a href="module-_ajax.html#.asyncTrue">asyncTrue</a></li><li data-type='method'><a href="module-_ajax.html#.asyncWrap">asyncWrap</a></li><li data-type='method'><a href="module-_ajax.html#.messageCatch">messageCatch</a></li><li data-type='method'><a href="module-_ajax.html#.messageFailure">messageFailure</a></li><li data-type='method'><a href="module-_ajax.html#.messageSuccess">messageSuccess</a></li><li data-type='method'><a href="module-_ajax.html#.microDelete">microDelete</a></li><li data-type='method'><a href="module-_ajax.html#.microFetch">microFetch</a></li><li data-type='method'><a href="module-_ajax.html#.microGet">microGet</a></li><li data-type='method'><a href="module-_ajax.html#.microPost">microPost</a></li><li data-type='method'><a href="module-_ajax.html#.microPush">microPush</a></li><li data-type='method'><a href="module-_ajax.html#.microPut">microPut</a></li><li data-type='method'><a href="module-_ajax.html#.rxEdict">rxEdict</a></li></ul></li><li><a href="module-_constant.html">_constant</a><ul class='members'><li data-type='member'><a href="module-_constant.html#.(%25E7%258E%25AF%25E5%25A2%2583%25E5%258F%2598%25E9%2587%258F)">(环境变量)</a></li><li data-type='member'><a href="module-_constant.html#.DEBUG">DEBUG</a></li><li data-type='member'><a href="module-_constant.html#.DEBUG_AJAX">DEBUG_AJAX</a></li><li data-type='member'><a href="module-_constant.html#.DEBUG_FORM">DEBUG_FORM</a></li><li data-type='member'><a href="module-_constant.html#.ECONOMY">ECONOMY</a></li><li data-type='member'><a href="module-_constant.html#.ENTRY_ADMIN">ENTRY_ADMIN</a></li><li data-type='member'><a href="module-_constant.html#.ENTRY_LOGIN">ENTRY_LOGIN</a></li><li data-type='member'><a href="module-_constant.html#.FORBIDDEN">FORBIDDEN</a></li><li data-type='member'><a href="module-_constant.html#.FORM_MODE">FORM_MODE</a></li><li data-type='member'><a href="module-_constant.html#.GRID">GRID</a></li><li data-type='member'><a href="module-_constant.html#.HTTP11">HTTP11</a></li><li data-type='member'><a href="module-_constant.html#.HTTP_METHOD">HTTP_METHOD</a></li><li data-type='member'><a href="module-_constant.html#.KEY_EVENT">KEY_EVENT</a></li><li data-type='member'><a href="module-_constant.html#.KEY_USER">KEY_USER</a></li><li data-type='member'><a href="module-_constant.html#.MENU_TYPE">MENU_TYPE</a></li><li data-type='member'><a href="module-_constant.html#.MIMES">MIMES</a></li><li data-type='member'><a href="module-_constant.html#.MOCK">MOCK</a></li><li data-type='member'><a href="module-_constant.html#.MONITOR">MONITOR</a></li><li data-type='member'><a href="module-_constant.html#.RX_SOURCE">RX_SOURCE</a></li><li data-type='member'><a href="module-_constant.html#.SELECTION">SELECTION</a></li><li data-type='member'><a href="module-_constant.html#.SIGN">SIGN</a></li><li data-type='member'><a href="module-_constant.html#.THEME">THEME</a></li><li data-type='member'><a href="module-_constant.html#.X_APP_ID">X_APP_ID</a></li><li data-type='member'><a href="module-_constant.html#.X_APP_KEY">X_APP_KEY</a></li><li data-type='member'><a href="module-_constant.html#.X_HEADER">X_HEADER</a></li><li data-type='member'><a href="module-_constant.html#.X_LANG">X_LANG</a></li><li data-type='member'><a href="module-_constant.html#.X_SIGMA">X_SIGMA</a></li><li data-type='member'><a href="module-_constant.html#.XT_FORMAT">XT_FORMAT</a></li></ul></li><li><a href="module-_develop.html">_develop</a><ul class='methods'><li data-type='method'><a href="module-_develop.html#.dgAjax">dgAjax</a></li><li data-type='method'><a href="module-_develop.html#.dgDebug">dgDebug</a></li><li data-type='method'><a href="module-_develop.html#.dgDiff">dgDiff</a></li><li data-type='method'><a href="module-_develop.html#.dgFileJson">dgFileJson</a></li><li data-type='method'><a href="module-_develop.html#.dgGraphic">dgGraphic</a></li><li data-type='method'><a href="module-_develop.html#.dgQuery">dgQuery</a></li><li data-type='method'><a href="module-_develop.html#.dgRouter">dgRouter</a></li><li data-type='method'><a href="module-_develop.html#.dgTodo">dgTodo</a></li><li data-type='method'><a href="module-_develop.html#.fxError">fxError</a></li><li data-type='method'><a href="module-_develop.html#.fxFailure">fxFailure</a></li><li data-type='method'><a href="module-_develop.html#.fxFatal">fxFatal</a></li><li data-type='method'><a href="module-_develop.html#.fxMessage">fxMessage</a></li><li data-type='method'><a href="module-_develop.html#.fxRedux">fxRedux</a></li><li data-type='method'><a href="module-_develop.html#.fxReject">fxReject</a></li><li data-type='method'><a href="module-_develop.html#.fxReport">fxReport</a></li><li data-type='method'><a href="module-_develop.html#.fxTerminal">fxTerminal</a></li><li data-type='method'><a href="module-_develop.html#.fxWarning">fxWarning</a></li></ul></li><li><a href="module-_element.html">_element</a><ul class='methods'><li data-type='method'><a href="module-_element.html#.elementBranch">elementBranch</a></li><li data-type='method'><a href="module-_element.html#.elementChildren">elementChildren</a></li><li data-type='method'><a href="module-_element.html#.elementChildTree">elementChildTree</a></li><li data-type='method'><a href="module-_element.html#.elementConcat">elementConcat</a></li><li data-type='method'><a href="module-_element.html#.elementDown">elementDown</a></li><li data-type='method'><a href="module-_element.html#.elementFind">elementFind</a></li><li data-type='method'><a href="module-_element.html#.elementFindDatum">elementFindDatum</a></li><li data-type='method'><a href="module-_element.html#.elementFirst">elementFirst</a></li><li data-type='method'><a href="module-_element.html#.elementFlat">elementFlat</a></li><li data-type='method'><a href="module-_element.html#.elementGrid">elementGrid</a></li><li data-type='method'><a href="module-_element.html#.elementGroup">elementGroup</a></li><li data-type='method'><a href="module-_element.html#.elementGroupDatum">elementGroupDatum</a></li><li data-type='method'><a href="module-_element.html#.elementIndex">elementIndex</a></li><li data-type='method'><a href="module-_element.html#.elementJoin">elementJoin</a></li><li data-type='method'><a href="module-_element.html#.elementMap">elementMap</a></li><li data-type='method'><a href="module-_element.html#.elementMapDatum">elementMapDatum</a></li><li data-type='method'><a href="module-_element.html#.elementParent">elementParent</a></li><li data-type='method'><a href="module-_element.html#.elementSave">elementSave</a></li><li data-type='method'><a href="module-_element.html#.elementUnique">elementUnique</a></li><li data-type='method'><a href="module-_element.html#.elementUniqueDatum">elementUniqueDatum</a></li><li data-type='method'><a href="module-_element.html#.elementUp">elementUp</a></li><li data-type='method'><a href="module-_element.html#.elementVertical">elementVertical</a></li><li data-type='method'><a href="module-_element.html#.elementWrap">elementWrap</a></li></ul></li><li><a href="module-_engine.html">_engine</a><ul class='methods'><li data-type='method'><a href="module-_engine.html#.assistIn">assistIn</a></li><li data-type='method'><a href="module-_engine.html#.cabQuery">cabQuery</a></li><li data-type='method'><a href="module-_engine.html#.capForm">capForm</a></li><li data-type='method'><a href="module-_engine.html#.capTab">capTab</a></li><li data-type='method'><a href="module-_engine.html#.configAnchor">configAnchor</a></li><li data-type='method'><a href="module-_engine.html#.configColumn">configColumn</a></li><li data-type='method'><a href="module-_engine.html#.configDialog">configDialog</a></li><li data-type='method'><a href="module-_engine.html#.configExecutor">configExecutor</a></li><li data-type='method'><a href="module-_engine.html#.configExecutors">configExecutors</a></li><li data-type='method'><a href="module-_engine.html#.configForm">configForm</a></li><li data-type='method'><a href="module-_engine.html#.configScroll">configScroll</a></li><li data-type='method'><a href="module-_engine.html#.configTab">configTab</a></li><li data-type='method'><a href="module-_engine.html#.configTable">configTable</a></li><li data-type='method'><a href="module-_engine.html#.createAction">createAction</a></li><li data-type='method'><a href="module-_engine.html#.dataIn">dataIn</a></li><li data-type='method'><a href="module-_engine.html#.dataOut">dataOut</a></li><li data-type='method'><a href="module-_engine.html#.fnOut">fnOut</a></li><li data-type='method'><a href="module-_engine.html#.fromHoc">fromHoc</a></li><li data-type='method'><a href="module-_engine.html#.fromPath">fromPath</a></li><li data-type='method'><a href="module-_engine.html#.raftForm">raftForm</a></li><li data-type='method'><a href="module-_engine.html#.rxAssist">rxAssist</a></li><li data-type='method'><a href="module-_engine.html#.rxCheckedRow">rxCheckedRow</a></li><li data-type='method'><a href="module-_engine.html#.rxCheckedTree">rxCheckedTree</a></li><li data-type='method'><a href="module-_engine.html#.rxDatum">rxDatum</a></li><li data-type='method'><a href="module-_engine.html#.rxEtat">rxEtat</a></li><li data-type='method'><a href="module-_engine.html#.rxFlow">rxFlow</a></li><li data-type='method'><a href="module-_engine.html#.rxResize">rxResize</a></li><li data-type='method'><a href="module-_engine.html#.storeApp">storeApp</a></li><li data-type='method'><a href="module-_engine.html#.storeModule">storeModule</a></li><li data-type='method'><a href="module-_engine.html#.storeUser">storeUser</a></li><li data-type='method'><a href="module-_engine.html#.writeAssist">writeAssist</a></li><li data-type='method'><a href="module-_engine.html#.writeClean">writeClean</a></li><li data-type='method'><a href="module-_engine.html#.writeSubmit">writeSubmit</a></li><li data-type='method'><a href="module-_engine.html#.writeTree">writeTree</a></li></ul></li><li><a href="module-_g.html">_g</a><ul class='methods'><li data-type='method'><a href="module-_g.html#.g2Chart">g2Chart</a></li></ul></li><li><a href="module-_is.html">_is</a><ul class='methods'><li data-type='method'><a href="module-_is.html#.isArray">isArray</a></li><li data-type='method'><a href="module-_is.html#.isAuthorized">isAuthorized</a></li><li data-type='method'><a href="module-_is.html#.isCn">isCn</a></li><li data-type='method'><a href="module-_is.html#.isCollection">isCollection</a></li><li data-type='method'><a href="module-_is.html#.isCurrency">isCurrency</a></li><li data-type='method'><a href="module-_is.html#.isDecimal">isDecimal</a></li><li data-type='method'><a href="module-_is.html#.isDiff">isDiff</a></li><li data-type='method'><a href="module-_is.html#.isEmpty">isEmpty</a></li><li data-type='method'><a href="module-_is.html#.isFunction">isFunction</a></li><li data-type='method'><a href="module-_is.html#.isInit">isInit</a></li><li data-type='method'><a href="module-_is.html#.isLogged">isLogged</a></li><li data-type='method'><a href="module-_is.html#.isNotEmpty">isNotEmpty</a></li><li data-type='method'><a href="module-_is.html#.isNumber">isNumber</a></li><li data-type='method'><a href="module-_is.html#.isObject">isObject</a></li><li data-type='method'><a href="module-_is.html#.isParent">isParent</a></li><li data-type='method'><a href="module-_is.html#.isQr">isQr</a></li><li data-type='method'><a href="module-_is.html#.isRoute">isRoute</a></li><li data-type='method'><a href="module-_is.html#.isRule">isRule</a></li><li data-type='method'><a href="module-_is.html#.isRuleAll">isRuleAll</a></li><li data-type='method'><a href="module-_is.html#.isRuleAny">isRuleAny</a></li><li data-type='method'><a href="module-_is.html#.isSame">isSame</a></li><li data-type='method'><a href="module-_is.html#.isSet">isSet</a></li><li data-type='method'><a href="module-_is.html#.isValid">isValid</a></li></ul></li><li><a href="module-_it.html">_it</a><ul class='methods'><li data-type='method'><a href="module-_it.html#.itAmb">itAmb</a></li><li data-type='method'><a href="module-_it.html#.itElement">itElement</a></li><li data-type='method'><a href="module-_it.html#.itFull">itFull</a></li><li data-type='method'><a href="module-_it.html#.itMatrix">itMatrix</a></li><li data-type='method'><a href="module-_it.html#.itObject">itObject</a></li><li data-type='method'><a href="module-_it.html#.itRepeat">itRepeat</a></li><li data-type='method'><a href="module-_it.html#.itRow">itRow</a></li><li data-type='method'><a href="module-_it.html#.itTree">itTree</a></li><li data-type='method'><a href="module-_it.html#.itUi">itUi</a></li><li data-type='method'><a href="module-_it.html#.itValue">itValue</a></li></ul></li><li><a href="module-_parser.html">_parser</a><ul class='methods'><li data-type='method'><a href="module-_parser.html#.aiExprAction">aiExprAction</a></li><li data-type='method'><a href="module-_parser.html#.aiExprAjax">aiExprAjax</a></li><li data-type='method'><a href="module-_parser.html#.aiExprButton">aiExprButton</a></li><li data-type='method'><a href="module-_parser.html#.aiExprButtons">aiExprButtons</a></li><li data-type='method'><a href="module-_parser.html#.aiExprColumn">aiExprColumn</a></li><li data-type='method'><a href="module-_parser.html#.aiExprCommand">aiExprCommand</a></li><li data-type='method'><a href="module-_parser.html#.aiExprCommands">aiExprCommands</a></li><li data-type='method'><a href="module-_parser.html#.aiExprDrawer">aiExprDrawer</a></li><li data-type='method'><a href="module-_parser.html#.aiExprField">aiExprField</a></li><li data-type='method'><a href="module-_parser.html#.aiExprFieldEx">aiExprFieldEx</a></li><li data-type='method'><a href="module-_parser.html#.aiExprFilter">aiExprFilter</a></li><li data-type='method'><a href="module-_parser.html#.aiExprIcon">aiExprIcon</a></li><li data-type='method'><a href="module-_parser.html#.aiExprOp">aiExprOp</a></li><li data-type='method'><a href="module-_parser.html#.aiExprOption">aiExprOption</a></li><li data-type='method'><a href="module-_parser.html#.aiExprPopover">aiExprPopover</a></li><li data-type='method'><a href="module-_parser.html#.aiExprTabs">aiExprTabs</a></li><li data-type='method'><a href="module-_parser.html#.aiExprTitle">aiExprTitle</a></li><li data-type='method'><a href="module-_parser.html#.aiExprWindow">aiExprWindow</a></li><li data-type='method'><a href="module-_parser.html#.applyArray">applyArray</a></li><li data-type='method'><a href="module-_parser.html#.applyColumn">applyColumn</a></li><li data-type='method'><a href="module-_parser.html#.applyConnect">applyConnect</a></li><li data-type='method'><a href="module-_parser.html#.applyItem">applyItem</a></li><li data-type='method'><a href="module-_parser.html#.applyKey">applyKey</a></li><li data-type='method'><a href="module-_parser.html#.applyKv">applyKv</a></li><li data-type='method'><a href="module-_parser.html#.applyLoading">applyLoading</a></li><li data-type='method'><a href="module-_parser.html#.applyRules">applyRules</a></li><li data-type='method'><a href="module-_parser.html#.applyStyle">applyStyle</a></li><li data-type='method'><a href="module-_parser.html#.applyValue">applyValue</a></li><li data-type='method'><a href="module-_parser.html#.parseAjax">parseAjax</a></li><li data-type='method'><a href="module-_parser.html#.parseField">parseField</a></li><li data-type='method'><a href="module-_parser.html#.parseInput">parseInput</a></li><li data-type='method'><a href="module-_parser.html#.parseQuery">parseQuery</a></li><li data-type='method'><a href="module-_parser.html#.parseValue">parseValue</a></li></ul></li><li><a href="module-_plugin.html">_plugin</a><ul class='methods'><li data-type='method'><a href="module-_plugin.html#.pluginEdition">pluginEdition</a></li><li data-type='method'><a href="module-_plugin.html#.pluginField">pluginField</a></li><li data-type='method'><a href="module-_plugin.html#.pluginForm">pluginForm</a></li><li data-type='method'><a href="module-_plugin.html#.pluginMetadata">pluginMetadata</a></li><li data-type='method'><a href="module-_plugin.html#.pluginOp">pluginOp</a></li><li data-type='method'><a href="module-_plugin.html#.pluginSelection">pluginSelection</a></li></ul></li><li><a href="module-_primary.html">_primary</a><ul class='members'><li data-type='member'><a href="module-_primary.html#.fn">fn</a></li></ul><ul class='methods'><li data-type='method'><a href="module-_primary.html#.assign">assign</a></li><li data-type='method'><a href="module-_primary.html#.clone">clone</a></li><li data-type='method'><a href="module-_primary.html#.element">element</a></li><li data-type='method'><a href="module-_primary.html#.immutable">immutable</a></li><li data-type='method'><a href="module-_primary.html#.initial">initial</a></li><li data-type='method'><a href="module-_primary.html#.parallel">parallel</a></li><li data-type='method'><a href="module-_primary.html#.pass">pass</a></li><li data-type='method'><a href="module-_primary.html#.passion">passion</a></li><li data-type='method'><a href="module-_primary.html#.pipe">pipe</a></li><li data-type='method'><a href="module-_primary.html#.prevent">prevent</a></li><li data-type='method'><a href="module-_primary.html#.promise">promise</a></li><li data-type='method'><a href="module-_primary.html#.ready">ready</a></li><li data-type='method'><a href="module-_primary.html#.signature">signature</a></li><li data-type='method'><a href="module-_primary.html#.token">token</a></li></ul></li><li><a href="module-_qr.html">_qr</a><ul class='methods'><li data-type='method'><a href="module-_qr.html#.qrClear">qrClear</a></li><li data-type='method'><a href="module-_qr.html#.qrCombine">qrCombine</a></li><li data-type='method'><a href="module-_qr.html#.qrCommon">qrCommon</a></li><li data-type='method'><a href="module-_qr.html#.qrComplex">qrComplex</a></li><li data-type='method'><a href="module-_qr.html#.qrForm">qrForm</a></li><li data-type='method'><a href="module-_qr.html#.qrInherit">qrInherit</a></li><li data-type='method'><a href="module-_qr.html#.qrInput">qrInput</a></li><li data-type='method'><a href="module-_qr.html#.qrTerms">qrTerms</a></li></ul></li><li><a href="module-_romantic.html">_romantic</a><ul class='methods'><li data-type='method'><a href="module-_romantic.html#.sexBatch">sexBatch</a></li><li data-type='method'><a href="module-_romantic.html#.sexCab">sexCab</a></li><li data-type='method'><a href="module-_romantic.html#.sexDialog">sexDialog</a></li><li data-type='method'><a href="module-_romantic.html#.sexIdentifier">sexIdentifier</a></li><li data-type='method'><a href="module-_romantic.html#.sexMessage">sexMessage</a></li><li data-type='method'><a href="module-_romantic.html#.sexModal">sexModal</a></li><li data-type='method'><a href="module-_romantic.html#.sexOp">sexOp</a></li><li data-type='method'><a href="module-_romantic.html#.sexTable">sexTable</a></li></ul></li><li><a href="module-_smart.html">_smart</a><ul class='methods'><li data-type='method'><a href="module-_smart.html#.smartForm">smartForm</a></li><li data-type='method'><a href="module-_smart.html#.smartList">smartList</a></li></ul></li><li><a href="module-_to.html">_to</a><ul class='methods'><li data-type='method'><a href="module-_to.html#.toArray">toArray</a></li><li data-type='method'><a href="module-_to.html#.toAssist">toAssist</a></li><li data-type='method'><a href="module-_to.html#.toCss">toCss</a></li><li data-type='method'><a href="module-_to.html#.toFileSize">toFileSize</a></li><li data-type='method'><a href="module-_to.html#.toForm">toForm</a></li><li data-type='method'><a href="module-_to.html#.toGrid">toGrid</a></li><li data-type='method'><a href="module-_to.html#.toGridSpan">toGridSpan</a></li><li data-type='method'><a href="module-_to.html#.toHeight">toHeight</a></li><li data-type='method'><a href="module-_to.html#.toHeightState">toHeightState</a></li><li data-type='method'><a href="module-_to.html#.toJson">toJson</a></li><li data-type='method'><a href="module-_to.html#.toKey">toKey</a></li><li data-type='method'><a href="module-_to.html#.toLimit">toLimit</a></li><li data-type='method'><a href="module-_to.html#.toLink">toLink</a></li><li data-type='method'><a href="module-_to.html#.toLoading">toLoading</a></li><li data-type='method'><a href="module-_to.html#.toLogout">toLogout</a></li><li data-type='method'><a href="module-_to.html#.toMessage">toMessage</a></li><li data-type='method'><a href="module-_to.html#.toOriginal">toOriginal</a></li><li data-type='method'><a href="module-_to.html#.toPagination">toPagination</a></li><li data-type='method'><a href="module-_to.html#.toPassword">toPassword</a></li><li data-type='method'><a href="module-_to.html#.toPid">toPid</a></li><li data-type='method'><a href="module-_to.html#.toProtocol">toProtocol</a></li><li data-type='method'><a href="module-_to.html#.toQuery">toQuery</a></li><li data-type='method'><a href="module-_to.html#.toRoute">toRoute</a></li><li data-type='method'><a href="module-_to.html#.toTime">toTime</a></li><li data-type='method'><a href="module-_to.html#.toTree">toTree</a></li><li data-type='method'><a href="module-_to.html#.toTreeArray">toTreeArray</a></li><li data-type='method'><a href="module-_to.html#.toTreeConfig">toTreeConfig</a></li><li data-type='method'><a href="module-_to.html#.toUrl">toUrl</a></li><li data-type='method'><a href="module-_to.html#.toWidth">toWidth</a></li><li data-type='method'><a href="module-_to.html#.toX">toX</a></li></ul></li><li><a href="module-_ui.html">_ui</a><ul class='methods'><li data-type='method'><a href="module-_ui.html#.activeColumn">activeColumn</a></li><li data-type='method'><a href="module-_ui.html#.activeSearch">activeSearch</a></li><li data-type='method'><a href="module-_ui.html#.activeTreeOff">activeTreeOff</a></li><li data-type='method'><a href="module-_ui.html#.activeTreeOn">activeTreeOn</a></li><li data-type='method'><a href="module-_ui.html#.anchorColumn">anchorColumn</a></li><li data-type='method'><a href="module-_ui.html#.anchorSearch">anchorSearch</a></li><li data-type='method'><a href="module-_ui.html#.anchorTree">anchorTree</a></li><li data-type='method'><a href="module-_ui.html#.columnWrapper">columnWrapper</a></li><li data-type='method'><a href="module-_ui.html#.formClear">formClear</a></li><li data-type='method'><a href="module-_ui.html#.formGet">formGet</a></li><li data-type='method'><a href="module-_ui.html#.formHit">formHit</a></li><li data-type='method'><a href="module-_ui.html#.formHits">formHits</a></li><li data-type='method'><a href="module-_ui.html#.formLinker">formLinker</a></li><li data-type='method'><a href="module-_ui.html#.formRead">formRead</a></li><li data-type='method'><a href="module-_ui.html#.formReset">formReset</a></li><li data-type='method'><a href="module-_ui.html#.formSubmit">formSubmit</a></li><li data-type='method'><a href="module-_ui.html#.htmlDisabled">htmlDisabled</a></li><li data-type='method'><a href="module-_ui.html#.htmlErrorBlur">htmlErrorBlur</a></li><li data-type='method'><a href="module-_ui.html#.htmlErrorFocus">htmlErrorFocus</a></li><li data-type='method'><a href="module-_ui.html#.htmlReadOnly">htmlReadOnly</a></li><li data-type='method'><a href="module-_ui.html#.onConfirm">onConfirm</a></li><li data-type='method'><a href="module-_ui.html#.onDatum">onDatum</a></li><li data-type='method'><a href="module-_ui.html#.onLinker">onLinker</a></li><li data-type='method'><a href="module-_ui.html#.onReference">onReference</a></li><li data-type='method'><a href="module-_ui.html#.onSave">onSave</a></li><li data-type='method'><a href="module-_ui.html#.onUniform">onUniform</a></li><li data-type='method'><a href="module-_ui.html#.writeDisabled">writeDisabled</a></li><li data-type='method'><a href="module-_ui.html#.writeImpact">writeImpact</a></li><li data-type='method'><a href="module-_ui.html#.writeInitial">writeInitial</a></li><li data-type='method'><a href="module-_ui.html#.writeLinker">writeLinker</a></li><li data-type='method'><a href="module-_ui.html#.writeReadOnly">writeReadOnly</a></li><li data-type='method'><a href="module-_ui.html#.writeSegment">writeSegment</a></li></ul></li><li><a href="module-_unity.html">_unity</a><ul class='methods'><li data-type='method'><a href="module-_unity.html#.ambArray">ambArray</a></li><li data-type='method'><a href="module-_unity.html#.ambEvent">ambEvent</a></li><li data-type='method'><a href="module-_unity.html#.ambFind">ambFind</a></li><li data-type='method'><a href="module-_unity.html#.ambKv">ambKv</a></li><li data-type='method'><a href="module-_unity.html#.ambObject">ambObject</a></li><li data-type='method'><a href="module-_unity.html#.ambValue">ambValue</a></li><li data-type='method'><a href="module-_unity.html#.connectId">connectId</a></li><li data-type='method'><a href="module-_unity.html#.connectItem">connectItem</a></li><li data-type='method'><a href="module-_unity.html#.connectRenders">connectRenders</a></li><li data-type='method'><a href="module-_unity.html#.connectValidator">connectValidator</a></li><li data-type='method'><a href="module-_unity.html#.decryptBase64">decryptBase64</a></li><li data-type='method'><a href="module-_unity.html#.dslArray">dslArray</a></li><li data-type='method'><a href="module-_unity.html#.encryptAES">encryptAES</a></li><li data-type='method'><a href="module-_unity.html#.encryptBase64">encryptBase64</a></li><li data-type='method'><a href="module-_unity.html#.encryptHmac512">encryptHmac512</a></li><li data-type='method'><a href="module-_unity.html#.encryptMD5">encryptMD5</a></li><li data-type='method'><a href="module-_unity.html#.forest">forest</a></li><li data-type='method'><a href="module-_unity.html#.forestGroup">forestGroup</a></li><li data-type='method'><a href="module-_unity.html#.formatCurrency">formatCurrency</a></li><li data-type='method'><a href="module-_unity.html#.formatDate">formatDate</a></li><li data-type='method'><a href="module-_unity.html#.formatExpr">formatExpr</a></li><li data-type='method'><a href="module-_unity.html#.formatNow">formatNow</a></li><li data-type='method'><a href="module-_unity.html#.formatObject">formatObject</a></li><li data-type='method'><a href="module-_unity.html#.formatPercent">formatPercent</a></li><li data-type='method'><a href="module-_unity.html#.formatQuery">formatQuery</a></li><li data-type='method'><a href="module-_unity.html#.formatTpl">formatTpl</a></li><li data-type='method'><a href="module-_unity.html#.mathDiscount">mathDiscount</a></li><li data-type='method'><a href="module-_unity.html#.mathDivision">mathDivision</a></li><li data-type='method'><a href="module-_unity.html#.mathMultiplication">mathMultiplication</a></li><li data-type='method'><a href="module-_unity.html#.mathSubtract">mathSubtract</a></li><li data-type='method'><a href="module-_unity.html#.mathSum">mathSum</a></li><li data-type='method'><a href="module-_unity.html#.randomArray">randomArray</a></li><li data-type='method'><a href="module-_unity.html#.randomInteger">randomInteger</a></li><li data-type='method'><a href="module-_unity.html#.randomString">randomString</a></li><li data-type='method'><a href="module-_unity.html#.randomUUID">randomUUID</a></li><li data-type='method'><a href="module-_unity.html#.sorterAsc">sorterAsc</a></li><li data-type='method'><a href="module-_unity.html#.sorterAscD">sorterAscD</a></li><li data-type='method'><a href="module-_unity.html#.sorterAscDFn">sorterAscDFn</a></li><li data-type='method'><a href="module-_unity.html#.sorterAscFn">sorterAscFn</a></li><li data-type='method'><a href="module-_unity.html#.sorterAscT">sorterAscT</a></li><li data-type='method'><a href="module-_unity.html#.sorterAscTFn">sorterAscTFn</a></li><li data-type='method'><a href="module-_unity.html#.sorterDesc">sorterDesc</a></li><li data-type='method'><a href="module-_unity.html#.sorterDescD">sorterDescD</a></li><li data-type='method'><a href="module-_unity.html#.sorterDescDFn">sorterDescDFn</a></li><li data-type='method'><a href="module-_unity.html#.sorterDescFn">sorterDescFn</a></li><li data-type='method'><a href="module-_unity.html#.sorterDescT">sorterDescT</a></li><li data-type='method'><a href="module-_unity.html#.sorterDescTFn">sorterDescTFn</a></li><li data-type='method'><a href="module-_unity.html#.sorterObject">sorterObject</a></li><li data-type='method'><a href="module-_unity.html#.tree">tree</a></li><li data-type='method'><a href="module-_unity.html#.treeChildren">treeChildren</a></li><li data-type='method'><a href="module-_unity.html#.treeChildrenAll">treeChildrenAll</a></li><li data-type='method'><a href="module-_unity.html#.treeChildrenAllIn">treeChildrenAllIn</a></li><li data-type='method'><a href="module-_unity.html#.treeFlip">treeFlip</a></li><li data-type='method'><a href="module-_unity.html#.treeParent">treeParent</a></li><li data-type='method'><a href="module-_unity.html#.treeParentAll">treeParentAll</a></li><li data-type='method'><a href="module-_unity.html#.treeParentAllIn">treeParentAllIn</a></li><li data-type='method'><a href="module-_unity.html#.treeShared">treeShared</a></li></ul></li><li><a href="module-_value.html">_value</a><ul class='methods'><li data-type='method'><a href="module-_value.html#.valueAppend">valueAppend</a></li><li data-type='method'><a href="module-_value.html#.valueArray">valueArray</a></li><li data-type='method'><a href="module-_value.html#.valueCopy">valueCopy</a></li><li data-type='method'><a href="module-_value.html#.valueDuration">valueDuration</a></li><li data-type='method'><a href="module-_value.html#.valueEndTime">valueEndTime</a></li><li data-type='method'><a href="module-_value.html#.valueExpr">valueExpr</a></li><li data-type='method'><a href="module-_value.html#.valueFabric">valueFabric</a></li><li data-type='method'><a href="module-_value.html#.valueFabrics">valueFabrics</a></li><li data-type='method'><a href="module-_value.html#.valueFactor">valueFactor</a></li><li data-type='method'><a href="module-_value.html#.valueFind">valueFind</a></li><li data-type='method'><a href="module-_value.html#.valueFloat">valueFloat</a></li><li data-type='method'><a href="module-_value.html#.valueInt">valueInt</a></li><li data-type='method'><a href="module-_value.html#.valueLadder">valueLadder</a></li><li data-type='method'><a href="module-_value.html#.valueLimit">valueLimit</a></li><li data-type='method'><a href="module-_value.html#.valueLink">valueLink</a></li><li data-type='method'><a href="module-_value.html#.valueNow">valueNow</a></li><li data-type='method'><a href="module-_value.html#.valueOk">valueOk</a></li><li data-type='method'><a href="module-_value.html#.valueOnChange">valueOnChange</a></li><li data-type='method'><a href="module-_value.html#.valuePair">valuePair</a></li><li data-type='method'><a href="module-_value.html#.valueParse">valueParse</a></li><li data-type='method'><a href="module-_value.html#.valuePath">valuePath</a></li><li data-type='method'><a href="module-_value.html#.valuePinyin">valuePinyin</a></li><li data-type='method'><a href="module-_value.html#.valueRequest">valueRequest</a></li><li data-type='method'><a href="module-_value.html#.valueStartTime">valueStartTime</a></li><li data-type='method'><a href="module-_value.html#.valueTime">valueTime</a></li><li data-type='method'><a href="module-_value.html#.valueTimes">valueTimes</a></li><li data-type='method'><a href="module-_value.html#.valueValid">valueValid</a></li></ul></li><li><a href="module-_xweb.html">_xweb</a><ul class='methods'><li data-type='method'><a href="module-_xweb.html#.xtChecked">xtChecked</a></li><li data-type='method'><a href="module-_xweb.html#.xtExprFlat">xtExprFlat</a></li><li data-type='method'><a href="module-_xweb.html#.xtFormat">xtFormat</a></li><li data-type='method'><a href="module-_xweb.html#.xtGet">xtGet</a></li><li data-type='method'><a href="module-_xweb.html#.xtInitArray">xtInitArray</a></li><li data-type='method'><a href="module-_xweb.html#.xtInitArrayMap">xtInitArrayMap</a></li><li data-type='method'><a href="module-_xweb.html#.xtInitFormat">xtInitFormat</a></li><li data-type='method'><a href="module-_xweb.html#.xtInitObject">xtInitObject</a></li><li data-type='method'><a href="module-_xweb.html#.xtLazyAjax">xtLazyAjax</a></li><li data-type='method'><a href="module-_xweb.html#.xtLazyInit">xtLazyInit</a></li><li data-type='method'><a href="module-_xweb.html#.xtLazyUp">xtLazyUp</a></li><li data-type='method'><a href="module-_xweb.html#.xtReady">xtReady</a></li><li data-type='method'><a href="module-_xweb.html#.xtRender">xtRender</a></li><li data-type='method'><a href="module-_xweb.html#.xtReset">xtReset</a></li><li data-type='method'><a href="module-_xweb.html#.xtRevert">xtRevert</a></li><li data-type='method'><a href="module-_xweb.html#.xtRowAdd">xtRowAdd</a></li><li data-type='method'><a href="module-_xweb.html#.xtRowChange">xtRowChange</a></li><li data-type='method'><a href="module-_xweb.html#.xtRowDel">xtRowDel</a></li><li data-type='method'><a href="module-_xweb.html#.xtSet">xtSet</a></li><li data-type='method'><a href="module-_xweb.html#.xtUnsafe">xtUnsafe</a></li><li data-type='method'><a href="module-_xweb.html#.xtUploadHandler">xtUploadHandler</a></li></ul></li><li><a href="module-web-ai.html">web-ai</a><ul class='methods'><li data-type='method'><a href="module-web-ai.html#.aiBreadcrumb">aiBreadcrumb</a></li><li data-type='method'><a href="module-web-ai.html#.aiLink">aiLink</a></li><li data-type='method'><a href="module-web-ai.html#.aiUrl">aiUrl</a></li></ul></li><li><a href="module-web-component.html">web-component</a><ul class='methods'><li data-type='method'><a href="module-web-component.html#.*Dialog">* Dialog</a></li><li data-type='method'><a href="module-web-component.html#.*DialogButton">* DialogButton</a></li><li data-type='method'><a href="module-web-component.html#.*DialogMenu">* DialogMenu</a></li><li data-type='method'><a href="module-web-component.html#.*PageCard">* PageCard</a></li><li data-type='method'><a href="module-web-component.html#.*Rectangle">* Rectangle</a></li><li data-type='method'><a href="module-web-component.html#.ColumnUser">ColumnUser</a></li><li data-type='method'><a href="module-web-component.html#.G6Editor">G6Editor</a></li><li data-type='method'><a href="module-web-component.html#.G6Viewer">G6Viewer</a></li><li data-type='method'><a href="module-web-component.html#.Graphic2">Graphic2</a></li><li data-type='method'><a href="module-web-component.html#.LoadingAlert">LoadingAlert</a></li><li data-type='method'><a href="module-web-component.html#.LoadingContent">LoadingContent</a></li><li data-type='method'><a href="module-web-component.html#.Navigation">Navigation</a></li><li data-type='method'><a href="module-web-component.html#.NavSwallow">NavSwallow</a></li></ul></li><li><a href="module-web-input.html">web-input</a><ul class='methods'><li data-type='method'><a href="module-web-input.html#.AddressSelector">AddressSelector</a></li><li data-type='method'><a href="module-web-input.html#.BraftEditor">BraftEditor</a></li><li data-type='method'><a href="module-web-input.html#.CheckJson">CheckJson</a></li><li data-type='method'><a href="module-web-input.html#.CheckTransfer">CheckTransfer</a></li><li data-type='method'><a href="module-web-input.html#.DialogEditor">DialogEditor</a></li><li data-type='method'><a href="module-web-input.html#.FileBatch">FileBatch</a></li><li data-type='method'><a href="module-web-input.html#.FileUpload">FileUpload</a></li><li data-type='method'><a href="module-web-input.html#.FileUpload">FileUpload</a></li><li data-type='method'><a href="module-web-input.html#.InputArray">InputArray</a></li><li data-type='method'><a href="module-web-input.html#.JsonEditor">JsonEditor</a></li><li data-type='method'><a href="module-web-input.html#.ListSelector">ListSelector</a></li><li data-type='method'><a href="module-web-input.html#.MagicView">MagicView</a></li><li data-type='method'><a href="module-web-input.html#.MatrixSelector">MatrixSelector</a></li><li data-type='method'><a href="module-web-input.html#.SearchInput">SearchInput</a></li><li data-type='method'><a href="module-web-input.html#.SearchRangeDate">SearchRangeDate</a></li><li data-type='method'><a href="module-web-input.html#.TableEditor">TableEditor</a></li><li data-type='method'><a href="module-web-input.html#.TreeSelector">TreeSelector</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#@zero">@zero</a></li><li><a href="global.html#assistOut">assistOut</a></li></ul>
</nav>

<div id="main">
    
    <h1 class="page-title">_constant</h1>
    

    




<section>

<header>
    
        
            
        
    
</header>

<article>
    
        <div class="container-overview">
        
            
                <div class="description usertext"><h1>常量模块</h1>
<h2>1.基本说明</h2>
<p>常量的直接调用方式，所有的常量直接存储在<code>Ux.Env</code>对象中，可执行下边的代码调用。</p>
<pre class="prettyprint source lang-js"><code>import Ux from 'ux';

const value = Ux.Env.xxx
// 如 `Z_ENTRY_LOGIN` 环境变量，直接调用时写法为：`Ux.Env.ENTRY_LOGIN` 方式。
</code></pre>
<p>系统的环境变量定义在下边两个文件中：</p>
<ul>
<li><code>.env.development</code>：开发环境专用环境变量，process.env.NODE_ENV 值为 development</li>
<li><code>.env.production</code>：生产环境专用环境变量，process.env.NODE_ENV 值为 production</li>
</ul>
<h2>2.环境变量</h2>
<h3>2.1.默认变量</h3>
<table>
<thead>
<tr>
<th style="text-align:left">变量名</th>
<th style="text-align:left">调用</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">PORT</td>
<td style="text-align:left">（无）</td>
<td style="text-align:left">当前前端运行的端口号，默认3000。｜</td>
</tr>
<tr>
<td style="text-align:left">HOST</td>
<td style="text-align:left">（无）</td>
<td style="text-align:left">当前前端运行的HOST地址，默认无值。</td>
</tr>
<tr>
<td style="text-align:left">REACT_APP_LESS_MODULES</td>
<td style="text-align:left">（无）</td>
<td style="text-align:left">在REACT中使用模块化的less。</td>
</tr>
</tbody>
</table>
<h3>2.2.框架变量</h3>
<p>环境变量名在调用时需去掉<code>Z_</code>前缀，参考上边的代码Demo，且只有<code>Z_</code>前缀环境变量可如此调用，环境变量说明可参考下边表格：</p>
<table>
<thead>
<tr>
<th style="text-align:left">变量名</th>
<th style="text-align:left">调用</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Z_TITLE</td>
<td style="text-align:left"><code>Ux.Env.TITLE</code></td>
<td style="text-align:left">当前运行环境的标题，最终会应用于<code>HTML</code>的<code>&lt;header&gt;</code>部分，目前可能存在BUG。</td>
</tr>
<tr>
<td style="text-align:left">Z_APP</td>
<td style="text-align:left"><code>Ux.Env.APP</code></td>
<td style="text-align:left">当前应用的名称，该名称在extension中存储于 <code>X_APP</code> 表，实现多应用平台，也可连接配置中心，为当前前端应用的唯一标识符。</td>
</tr>
<tr>
<td style="text-align:left">Z_ENDPOINT</td>
<td style="text-align:left"><code>Ux.Env.ENDPOINT</code></td>
<td style="text-align:left">当前端环境要访问后端远程时，使用该环境变量配置后端的endpoint地址，实现前后端分离访问。</td>
</tr>
<tr>
<td style="text-align:left">Z_LANGUAGE</td>
<td style="text-align:left"><code>Ux.Env.LANGUAGE</code></td>
<td style="text-align:left">多语言环境，默认环境值为<code>cn</code>，该值会让前端访问<code>src/cab/cn</code>目录下的资源文件（多语言前端），并且设置<code>X_LANG</code>为中文环境。</td>
</tr>
<tr>
<td style="text-align:left">Z_ROUTE</td>
<td style="text-align:left"><code>Ux.Env.ROUTE</code></td>
<td style="text-align:left">当前前端运行的动态路由根路径，不同应用该值设置为不同，也可和配置中心连接，react-router自动化脚本以此为根路径。</td>
</tr>
<tr>
<td style="text-align:left">Z_K_SESSION</td>
<td style="text-align:left">（无）</td>
<td style="text-align:left">当前应用在SessionStorage时对应的前缀值，默认使用<code>@@ZUI/</code>为该前缀，同一个浏览器中可拥有不同的应用，并且不会产生数据冲突。</td>
</tr>
<tr>
<td style="text-align:left"></td>
<td style="text-align:left"><code>Ux.Env.KEY_APP</code></td>
<td style="text-align:left">保存当前应用专用键值，不同键值表示不同应用，存储在SessionStorage中。</td>
</tr>
<tr>
<td style="text-align:left"></td>
<td style="text-align:left"><code>Ux.Env.KEY_USER</code></td>
<td style="text-align:left">保存当前登录用户信息专用键值，不同用户使用不同键值，存储在SessionStorage中。</td>
</tr>
<tr>
<td style="text-align:left">Z_K_EVENT</td>
<td style="text-align:left"><code>Ux.Env.KEY_EVENT</code></td>
<td style="text-align:left">当前应用使用的redux专用事件前缀，区分不同redux行为专用，默认值<code>@@ZUI-ACT</code>。</td>
</tr>
<tr>
<td style="text-align:left">Z_CORS_MODE</td>
<td style="text-align:left"><code>Ux.Env.CORS_MODE</code></td>
<td style="text-align:left">（安全）解决跨域过程中的选项，对应fetch中的options值：cors,no-cors或其他。</td>
</tr>
<tr>
<td style="text-align:left">Z_CORS_CREDENTIALS</td>
<td style="text-align:left"><code>Ux.Env.CORS_CREDENTIALS</code></td>
<td style="text-align:left">（安全）对应options中的credentials选项，包括：include,omit或其他。</td>
</tr>
<tr>
<td style="text-align:left">Z_SIGN</td>
<td style="text-align:left"><code>Ux.Env.SIGN</code></td>
<td style="text-align:left">（安全）是否启用数据签名功能，针对古老REST专用，默认值false。</td>
</tr>
<tr>
<td style="text-align:left">Z_SECRET_AES</td>
<td style="text-align:left"><code>Ux.Env.SECRET_AES</code></td>
<td style="text-align:left">（安全）使用AES加密时该应用的专用secret值，不同应用可发放不同值。</td>
</tr>
<tr>
<td style="text-align:left">Z_PLUGIN</td>
<td style="text-align:left"><code>Ux.Env.PLUGIN</code></td>
<td style="text-align:left">是否启用插件环境，启用插件环境才可用<code>plugin</code>包中的内容。</td>
</tr>
<tr>
<td style="text-align:left">Z_SHARED</td>
<td style="text-align:left"><code>Ux.Env.SHARED</code></td>
<td style="text-align:left">全局Epic/Types共享目录名，默认为app，不同应用使用的目录不同，共享目录位于：<code>src/app/action</code>下。</td>
</tr>
<tr>
<td style="text-align:left">Z_ENTRY_LOGIN</td>
<td style="text-align:left"><code>Ux.Env.ENTRY_LOGIN</code></td>
<td style="text-align:left">（页面）当前应用的登陆首页，入口页面。</td>
</tr>
<tr>
<td style="text-align:left">Z_ENTRY_ADMIN</td>
<td style="text-align:left"><code>Ux.Env.ENTRY_ADMIN</code></td>
<td style="text-align:left">（页面）当前应用的管理首页，主页面。</td>
</tr>
<tr>
<td style="text-align:left">Z_X_HEADER_SUPPORT</td>
<td style="text-align:left">（无）</td>
<td style="text-align:left">启用不同应用变量：<code>X-Sigma，X-AppId, X-AppKey, X-Lang</code>实现多租户、多语言、多应用的平台环境。</td>
</tr>
<tr>
<td style="text-align:left">Z_CSS_PREFIX</td>
<td style="text-align:left"><code>Ux.Env.CSS_PREFIX</code></td>
<td style="text-align:left">（风格）当前站点的风格文件前缀，对应less中的前缀，全局变量<code>@app</code>，禁用值：<code>ux,ox,ex,web</code>等。</td>
</tr>
<tr>
<td style="text-align:left">Z_CSS_COLOR</td>
<td style="text-align:left"><code>Ux.Env.CSS_COLOR</code></td>
<td style="text-align:left">（风格）当前站点的主色调，一旦改动这个颜色，那么主体色调会被改变，对应antd中的<code>@primary-color</code>的值。</td>
</tr>
<tr>
<td style="text-align:left">Z_CSS_FONT</td>
<td style="text-align:left"><code>Ux.Env.CSS_FONT</code></td>
<td style="text-align:left">（风格）当前站点的默认字体大小，默认值14px。</td>
</tr>
</tbody>
</table>
<h3>2.3.开发变量</h3>
<table>
<thead>
<tr>
<th style="text-align:left">变量名</th>
<th style="text-align:left">调用</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Z_DEV_DEBUG</td>
<td style="text-align:left"><code>Ux.Env.DEBUG</code></td>
<td style="text-align:left">是否开启调试模式，调试模式只有在开发环境中生效，development/production。</td>
</tr>
<tr>
<td style="text-align:left">Z_DEV_MOCK</td>
<td style="text-align:left"><code>Ux.Env.MOCK</code></td>
<td style="text-align:left">是否打开全局MOCK功能，如果打开则可支持直接使用纯前端模式。</td>
</tr>
<tr>
<td style="text-align:left">Z_DEV_FORM</td>
<td style="text-align:left"></td>
<td style="text-align:left">监控表单渲染的专用变量，牵涉到表单布局的渲染流程。</td>
</tr>
<tr>
<td style="text-align:left">Z_DEV_MONITOR</td>
<td style="text-align:left"><code>Ux.Env.MONITOR</code></td>
<td style="text-align:left">（Deprecated）是否启用Zero UI中的原生监控工具，可直接使用一个浮游工具栏。</td>
</tr>
<tr>
<td style="text-align:left">Z_DEV_AJAX</td>
<td style="text-align:left"><code>Ux.Env.DEBUG_AJAX</code></td>
<td style="text-align:left">是否将Ajax请求保存成json文件格式，如果调试模式打开，则Request会保存成json格式方便开发。</td>
</tr>
</tbody>
</table>
<h2>3.内部定义常量</h2>
<p>除开上述环境变量以外，系统中还包含了部分系统定义常量，定义的常量参考剩余的常量文档部分（略）。</p>
<h2>4.示例</h2>
<p>参考下边的<code>.env.development</code>文件内容：</p>
<pre class="prettyprint source lang-properties"><code>PORT=5000
Z_TITLE=配置管理平台
Z_LANGUAGE=cn
Z_ENDPOINT=http://ox.engine.cn:6083
Z_APP=vie.app.ox
Z_ROUTE=ox
Z_SHARED=app
Z_ENTRY_LOGIN=/login/index
Z_ENTRY_ADMIN=/main/index
Z_PLUGIN=true
Z_K_SESSION=@@OX/
Z_K_EVENT=@@OX-ACT
REACT_APP_LESS_MODULES=true

Z_DEV_DEBUG=true
Z_DEV_MOCK=true
Z_DEV_AJAX=false
Z_DEV_FORM=true
Z_DEV_MONITOR=false

Z_CSS_PREFIX=ox
Z_CSS_COLOR=#3d8ce7
Z_CSS_FONT=13px
Z_CORS_CREDENTIALS=include

Z_X_HEADER_SUPPORT=true
</code></pre></div>
            

            
                




<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>
































            
        
        </div>
    

    

    

    
    
    

     

    

    
        <h3 class="subsection-title">Members</h3>

        
            
<h4 class="name" id=".(%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F)"><span class="type-signature">(static, constant) </span>(环境变量)<span class="type-signature"></span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.xxx</code></h2>
<pre class="prettyprint source lang-js"><code>import Ux from 'ux';
const value = Ux.Env.xxx;
</code></pre>
<p>该常量主要用于环境变量，会包含所有环境变量的基本信息，环境变量基本规则如下：</p>
<ol>
<li>去掉前缀 <code>Z_</code> 的环境变量名称</li>
<li>去掉前缀 <code>DEV_</code> 的环境变量名称</li>
</ol>
<p>详细信息参考常量表格，而且环境变量会直接追加到<code>Ux.Env</code>根节点中。</p>
</div>








        
            
<h4 class="name" id=".DEBUG"><span class="type-signature">(static, constant) </span>DEBUG<span class="type-signature"> :boolean</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>false</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.DEBUG</code></h2>
<p>该变量检测当前环境是否开启了<code>调试环境</code>，开启调试环境的条件：</p>
<ul>
<li><code>process.env.NODE_ENV</code>的值为 development。</li>
<li><code>process.env.DEV_DEBUG</code>的值为 true，对应环境变量<code>Z_DEV_DEBUG</code>的值，启动时转换。</li>
</ul>
<pre class="prettyprint source lang-js"><code>// 直接调用 Ux 执行判断

// 「内部」
import Cv from './constant';
if(Cv.DEBUG){
    // 内部，研发模式代码
}

// 「外部」
import Ux from 'ux';
if(Ux.Env.DEBUG){
    // 外部，开发模式代码
}
</code></pre>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".DEBUG_AJAX"><span class="type-signature">(static, constant) </span>DEBUG_AJAX<span class="type-signature"> :boolean</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>false</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2>「开发专用」<code>Ux.Env.DEBUG_AJAX</code></h2>
<p>是否开启Ajax的请求数据捕捉监控流程。</p>
<ul>
<li><code>process.env.NODE_ENV</code>的值为 development。</li>
<li><code>process.env.DEV_MOCK</code>的值为 true，对应环境变量<code>Z_DEV_MOCK</code>的值，启动时转换。</li>
<li><code>process.env.DEV_AJAX</code>的值为 true，对应环境变量<code>Z_DEV_AJAX</code>的值。</li>
</ul>
<p>上述三个条件同时满足时才执行Ajax的监控条件，启用过后，系统会调用<code>saveAs</code>将请求数据存储成json文件。</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".DEBUG_FORM"><span class="type-signature">(static, constant) </span>DEBUG_FORM<span class="type-signature"> :boolean</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>false</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2>「开发专用」<code>Ux.Env.DEBUG_FORM</code></h2>
<p>是否开启表单生命周期监控流程，监控表单渲染的专用生命周期。</p>
<ul>
<li><code>process.env.NODE_ENV</code>的值为 development。</li>
<li><code>process.env.DEV_FORM</code>的值为 true，对应环境变量<code>Z_DEV_FORM</code>的值，启动时转换。</li>
</ul>
<p>该变量用于控制开发环境中表单监控。</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".ECONOMY"><span class="type-signature">(static, constant) </span>ECONOMY<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2>「业务」<code>Ux.Env.ECONOMY</code></h2>
<p>常用 Web 组件的 className属性，该属性应用会牵涉到业务应用。</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".ENTRY_ADMIN"><span class="type-signature">(static, constant) </span>ENTRY_ADMIN<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>/{Z_ROUTE}/main/index</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.ENTRY_ADMIN</code></h2>
<p>当前前端应用的主界面路径，主界面路径分为两部分</p>
<ul>
<li>使用<code>Z_ROUTE</code>环境变量实现多应用管理，相同应用出现不同的用户时，可设置不同的<code>Z_ROUTE</code>。</li>
<li>默认路径为<code>/main/index</code>，为登录过后管理主界面。</li>
</ul>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".ENTRY_LOGIN"><span class="type-signature">(static, constant) </span>ENTRY_LOGIN<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>/{Z_ROUTE}/login/index</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.ENTRY_LOGIN</code></h2>
<p>当前站点的登录入口模板，通常也是应用的入口，进入入口过后通过登录可直接跳转到<code>ENTRY_ADMIN</code>配置的管理主界面。</p>
<ul>
<li>使用<code>Z_ROUTE</code>环境变量实现多应用管理，相同应用出现不同的用户时，可设置不同的<code>Z_ROUTE</code>。</li>
<li>默认路径为<code>/login/index</code>，为登录之前的入口界面。</li>
</ul>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".FORBIDDEN"><span class="type-signature">(static, constant) </span>FORBIDDEN<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>"********"</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.FORBIDDEN</code></h2>
<p>在ACL的权限控制中，表单数据分为三态：</p>
<ul>
<li>可编辑</li>
<li>只读</li>
<li>有数据不可查看：如果有数据不可查看，则会显示成 FORBIDDEN 设置的值。</li>
</ul>
<p>这个变量只会在ACL权限控制中使用，其他地方不可使用，该变量会隐藏真实数据而导致数据本身不可查看。</p>
<blockquote>
<p>通常意义上，显示成********的数据是不可编辑的，因为编辑会带来副作用，所以表单从原始的四态变成了三态。</p>
</blockquote>
<p>表单的状态表格如下：</p>
<table>
<thead>
<tr>
<th style="text-align:right">维度</th>
<th>有权限</th>
<th>无权限</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right">可编辑</td>
<td>编辑数据</td>
<td>x（不支持）</td>
</tr>
<tr>
<td style="text-align:right">只读</td>
<td>显示数据</td>
<td>********</td>
</tr>
</tbody>
</table>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".FORM_MODE"><span class="type-signature">(static, constant) </span>FORM_MODE<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.FORM_MODE</code></h2>
<p>表单模式设置，目前包含三种常见表单</p>
<ul>
<li>ADD：添加表单。</li>
<li>EDIT：编辑表单。</li>
<li>SEARCH：搜索表单。</li>
</ul>
<p>表单模式中会影响核心变量<code>$inited</code>，该值为表单初始值，如果是添加模式，不论是否传入，该值都为空，而在编辑模式中，<code>$inited</code>几乎是一定有值的。
除开这个意外，还包含另外一个核心变量<code>$record</code>，它用于记录父表单，以及某个表格字段中的行值，这个会在特殊组件中专程说明。</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".GRID"><span class="type-signature">(static, constant) </span>GRID<span class="type-signature"></span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.GRID</code></h2>
<p>布局专用，统一布局 Col 比例（支持自适应效果）</p>
</div>








        
            
<h4 class="name" id=".HTTP11"><span class="type-signature">(static, constant) </span>HTTP11<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.HTTP11</code></h2>
<p>HTTP11 中的请求头所有标准协议常量，该常量的命名规则如下：</p>
<ul>
<li>将原始请求头全部大写。</li>
<li>所有的<code>-</code>转换成<code>_</code>生成对应的键值的。</li>
</ul>
<p>使用的参考代码如下：</p>
<pre class="prettyprint source lang-js"><code>
// 下载专用头设置，客户端只接受 octet-stream 格式
headers.append(Cv.HTTP11.ACCEPT, &quot;application/octet-stream&quot;);
headers.append(Cv.HTTP11.CONTENT_TYPE, &quot;application/octet-stream&quot;);
</code></pre>
<p>目前版本支持的值列表（所有定义）：</p>
<pre class="prettyprint source lang-json"><code>     {
        &quot;ACCEPT&quot;: &quot;Accept&quot;,
        &quot;ACCEPT_CHARSET&quot;: &quot;Accept-Charset&quot;,
        &quot;ACCEPT_ENCODING&quot;: &quot;Accept-Encoding&quot;,
        &quot;ACCEPT_LANGUAGE&quot;: &quot;Accept-Language&quot;,
        &quot;ACCEPT_RANGES&quot;: &quot;Accept-Ranges&quot;,
        &quot;AGE&quot;: &quot;Age&quot;,
        &quot;ALLOW&quot;: &quot;Allow&quot;,
        &quot;AUTHORIZATION&quot;: &quot;Authorization&quot;,
        &quot;CACHE_CONTROL&quot;: &quot;Cache-Control&quot;,
        &quot;CONNECTION&quot;: &quot;Connection&quot;,
        &quot;CONTENT_BASE&quot;: &quot;Content-Base&quot;,
        &quot;CONTENT_ENCODING&quot;: &quot;Content-Encoding&quot;,
        &quot;CONTENT_LENGTH&quot;: &quot;Content-Length&quot;,
        &quot;CONTENT_LOCATION&quot;: &quot;Content-Location&quot;,
        &quot;CONTENT_MD5&quot;: &quot;Content-MD5&quot;,
        &quot;CONTENT_RANGE&quot;: &quot;Content-Range&quot;,
        &quot;CONTENT_TYPE&quot;: &quot;Content-Type&quot;,
        &quot;DATE&quot;: &quot;Date&quot;,
        &quot;ETAG&quot;: &quot;ETag&quot;,
        &quot;EXPIRES&quot;: &quot;Expires&quot;,
        &quot;FORM&quot;: &quot;Form&quot;,
        &quot;HOST&quot;: &quot;Host&quot;,
        &quot;IF_MODIFIED_SINCE&quot;: &quot;If-Modified-Since&quot;,
        &quot;IF_MATCH&quot;: &quot;If-Match&quot;,
        &quot;IF_NONE_MATCH&quot;: &quot;If-None-Match&quot;,
        &quot;IF_RANGE&quot;: &quot;If-Range&quot;,
        &quot;IF_UNMODIFIED_SINCE&quot;: &quot;If-Unmodified-Since&quot;,
        &quot;LAST_MODIFIED&quot;: &quot;Last-Modified&quot;,
        &quot;LOCATION&quot;: &quot;Location&quot;,
        &quot;MAX_FORWARDS&quot;: &quot;Max-Forwards&quot;,
        &quot;PRAGMA&quot;: &quot;Pragma&quot;,
        &quot;PROXY_AUTHENTICATE&quot;: &quot;Proxy-Authenticate&quot;,
        &quot;PROXY_AUTHORIZATION&quot;: &quot;Proxy-Authorization&quot;,
        &quot;PUBLIC&quot;: &quot;Public&quot;,
        &quot;RANGE&quot;: &quot;Range&quot;,
        &quot;REFENER&quot;: &quot;Refener&quot;,
        &quot;RETRY_AFTER&quot;: &quot;Retry-After&quot;,
        &quot;SERVER&quot;: &quot;Server&quot;,
        &quot;TRANSFER_ENCODING&quot;: &quot;Transfer-Encoding&quot;,
        &quot;UPGRADE&quot;: &quot;Upgrade&quot;,
        &quot;USER_AGENT&quot;: &quot;User-Agent&quot;,
        &quot;VARY&quot;: &quot;Vary&quot;,
        &quot;WARNING&quot;: &quot;Warning&quot;,
        &quot;WWW_AUTHENTICATE&quot;: &quot;WWW-Authenticate&quot;,
        &quot;XSRF_TOKEN&quot;: &quot;X-XSRF-TOKEN&quot;
    }
</code></pre>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".HTTP_METHOD"><span class="type-signature">(static, constant) </span>HTTP_METHOD<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.HTTP_METHOD</code></h2>
<p>HTTP方法常量，目前支持：<code>GET, POST, PUT, DELETE</code>四种，全小写类型</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".KEY_EVENT"><span class="type-signature">(static, constant) </span>KEY_EVENT<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.KEY_EVENT</code></h2>
<p>SessionStorage 专用的存储键值，存储 Redux 的事件专用信息，所有执行了 redux 的事件前缀都以环境变量中配置的
<code>Z_K_EVENT</code>为前缀，不同的应用这个值应该不一致，主要用来实现多应用分流。当前前端中对 redux 的使用主要在整个
状态树的顶层，而兄弟节点的通讯走 redux 而不是走状态。</p>
<ul>
<li>本组件内部使用props和state传递数据，包括数据继承。</li>
<li>跨组件之间传递数据则使用redux，目前最多应用于外层按钮和里层按钮的房重复提交同步操作。</li>
</ul>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".KEY_USER"><span class="type-signature">(static, constant) </span>KEY_USER<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>{K_SESSION}SESSION/USER</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.KEY_USER</code></h2>
<p>SessionStorage 专用的存储键值，存储当前用户登录信息，当用户点击了登录按钮过后，返回的用户登录数据会存储
在该键值中，里面存储的是用户数据的对象，其中最核心的字段如：</p>
<pre class="prettyprint source lang-json"><code>{
    &quot;key&quot;: &quot;用户主键（标准）&quot;,
    &quot;uniqueId&quot;: &quot;用户全局唯一键（遗留系统专用）&quot;,
    &quot;userId&quot;: &quot;Spring桥接专用，大部分系统都使用了userId作主键&quot;
}
</code></pre>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".MENU_TYPE"><span class="type-signature">(static, constant) </span>MENU_TYPE<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.MENU_TYPE</code></h2>
<p>常用 Web 菜单的类型设置，该类型对应<code>X_MENU</code>表中的type字段，菜单类型主要包含下边几种：</p>
<table>
<thead>
<tr>
<th style="text-align:right">代码调用</th>
<th style="text-align:left">值</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right"><code>Ux.Env.MENU_TYPE.TOP</code></td>
<td style="text-align:left">TOP-MENU</td>
<td style="text-align:left">顶部菜单</td>
</tr>
<tr>
<td style="text-align:right"><code>Ux.Env.MENU_TYPE.APP</code></td>
<td style="text-align:left">APP-MENU</td>
<td style="text-align:left">主界面Dashboard专用菜单</td>
</tr>
<tr>
<td style="text-align:right"><code>Ux.Env.MENU_TYPE.SIDE</code></td>
<td style="text-align:left">SIDE-MENU</td>
<td style="text-align:left">系统主菜单（左侧边菜单）</td>
</tr>
<tr>
<td style="text-align:right"><code>Ux.Env.MENU_TYPE.NAV</code></td>
<td style="text-align:left">NAV-MENU</td>
<td style="text-align:left">导航栏专用菜单信息</td>
</tr>
</tbody>
</table>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".MIMES"><span class="type-signature">(static, constant) </span>MIMES<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.MIMES</code></h2>
<p>系统常用的MIME值，用于设置<code>Accept/Content-Type</code>等基础媒体类型值。目前系统中的值如下：</p>
<table>
<thead>
<tr>
<th style="text-align:left">代码调用</th>
<th style="text-align:left">值</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>Ux.Env.MIMES.JSON</code></td>
<td style="text-align:left">application/json</td>
<td style="text-align:left">JSON媒体类型</td>
</tr>
<tr>
<td style="text-align:left"><code>Ux.Env.MIMES.MULTIPART</code></td>
<td style="text-align:left">multipart/form-data</td>
<td style="text-align:left">（略）</td>
</tr>
<tr>
<td style="text-align:left"><code>Ux.Env.MIMES.FORM</code></td>
<td style="text-align:left">application/x-www-form-urlencoded</td>
<td style="text-align:left">（略）</td>
</tr>
<tr>
<td style="text-align:left"><code>Ux.Env.MIMES.STREAM</code></td>
<td style="text-align:left">application/octet-stream</td>
<td style="text-align:left">二进制文件类型，上传下载用</td>
</tr>
</tbody>
</table>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".MOCK"><span class="type-signature">(static, constant) </span>MOCK<span class="type-signature"> :boolean</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>false</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2>「开发专用」<code>Ux.Env.MOCK</code></h2>
<p>是否开启 mock 模拟数据环境，开始纯前端开发模式。</p>
<ul>
<li><code>process.env.NODE_ENV</code>的值为 development。</li>
<li><code>process.env.DEV_MOCK</code>的值为 true，对应环境变量<code>Z_DEV_MOCK</code>的值，启动时转换。</li>
</ul>
<h3>1.Mock规则</h3>
<p>mock环境存储在<code>src/mock</code>目录中，并且包含模拟环境的生成规则，构造 mockKey 的规则如下：</p>
<ol>
<li>基本键值对应：<code>HTTP方法 + 下划线 + URI路径（ / 转换成 _ ）</code>。</li>
<li>URI路径除了基本规则以外，<code>:id</code>和<code>:key</code>可直接被还原，如<code>/api/user/:key</code>的真实访问路径为<code>/api/user/xxxxxxxxxx</code>，则可被还原成<code>_api_user_:key</code>作为mockKey来使用。</li>
</ol>
<h3>2.Mock入口文件</h3>
<p>mock入口文件如下：</p>
<pre class="prettyprint source lang-js"><code>export default {
     // -------------------------------------------------- 全局
     post_Login_user_login: 登录主接口,
     post_api_user_logout: 注销主接口,
     &quot;post_Login_user_get-app-list&quot;: 读取主页菜单,
     &quot;post_Login_user_get-menu-list&quot;: 读取所有菜单,
     get_api_tenant: 读取租户列表,

     // ......
}
</code></pre>
<h3>3.Mock数据结构</h3>
<p>mock文件内部的数据结构如下：</p>
<pre class="prettyprint source lang-js"><code>export default {
     mock: true,
     processor: (
         data = {},      // 「响应」对应 data 节点的数据，可以Object也可以Array
         params          // 「请求」对应当前请求数据
     ) => {
         // 返回 Promise
     },
     data: [
     ]
}
</code></pre>
<table>
<thead>
<tr>
<th style="text-align:right">参数</th>
<th style="text-align:left">类型</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right">mock</td>
<td style="text-align:left">boolean</td>
<td style="text-align:left">是否单独开关当前mock环境，只有mock打开才生效，如果设置false，则请求不走Mock流程。</td>
</tr>
<tr>
<td style="text-align:right">data</td>
<td style="text-align:left">Object/Array</td>
<td style="text-align:left">模拟数据类型，可模拟成想要的数据类型做纯前端开发。</td>
</tr>
<tr>
<td style="text-align:right">processor</td>
<td style="text-align:left">Function</td>
<td style="text-align:left">函数类型，可以在data基础之上实现响应数据格式的初步转换。</td>
</tr>
</tbody>
</table>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".MONITOR"><span class="type-signature">(static, constant) </span>MONITOR<span class="type-signature"> :boolean</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>false</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2>「开发专用」<code>Ux.Env.MONITOR</code></h2>
<p>是否开启前端界面监控环境工具，该变量牵涉变量执行工具，在最老的版本中辅助调试专用</p>
<ul>
<li>可用于监控props中的变量变化信息。</li>
<li>可用于监控state中的变量变化信息。</li>
</ul>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".RX_SOURCE"><span class="type-signature">(static, constant) </span>RX_SOURCE<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    
        <dt class="important tag-deprecated">Deprecated:</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.RX_SOURCE</code></h2>
<p>响应式编程的数据来源模式设置，遗留系统由于redux和react交叉，所以会出现来源混淆的情况。</p>
<ul>
<li><code>REACTIVE</code>：响应式Rxjs，直接使用Rx模式的数据来源。</li>
<li><code>REACT</code>：只使用 React，通常是state和props相结合。</li>
<li><code>REDUX</code>：配合 Redux 使用的数据来源。</li>
</ul>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".SELECTION"><span class="type-signature">(static, constant) </span>SELECTION<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.SELECTION</code></h2>
<p>专用树筛选模式，用于执行树中节点的筛选模式，在树结构中经常使用，如<code>X_CATEGORY</code>构造菜单等。</p>
<table>
<thead>
<tr>
<th style="text-align:right">模式值</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right"><code>PARENT_ALL_INCLUDE</code></td>
<td style="text-align:left">选择当前节点和所有父节点集合（包含祖辈）。</td>
</tr>
<tr>
<td style="text-align:right"><code>PARENT_ALL</code></td>
<td style="text-align:left">除开当前节点，选择所有父节点集合（包含祖辈）。</td>
</tr>
<tr>
<td style="text-align:right"><code>PARENT</code></td>
<td style="text-align:left">选择直接父节点（不包含祖辈）。</td>
</tr>
<tr>
<td style="text-align:right"><code>CURRENT</code></td>
<td style="text-align:left">「默认」只选择当前节点。</td>
</tr>
<tr>
<td style="text-align:right"><code>CHILDREN</code></td>
<td style="text-align:left">直接子节点（不包含孙辈）。</td>
</tr>
<tr>
<td style="text-align:right"><code>CHILDREN_ALL</code></td>
<td style="text-align:left">选择所有子节点（包含孙辈以及以下）。</td>
</tr>
<tr>
<td style="text-align:right"><code>CHILDREN_ALL_INCLUDE</code></td>
<td style="text-align:left">选择当前节点和所有子节点（包含孙辈）。</td>
</tr>
</tbody>
</table>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".SIGN"><span class="type-signature">(static, constant) </span>SIGN<span class="type-signature"> :boolean</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-default">Default Value:</dt>
    <dd class="tag-default"><ul class="dummy">
            <li>false</li>
        </ul></dd>
    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.SIGN</code></h2>
<p>是否开启 RESTful 的数字签名功能，如果开启了数字签名功能，则会在RESTful接口中直接启用数字签名，追加<code>sig</code>参数
<code>sig</code>的计算规则如下：</p>
<ol>
<li>先在系统中执行基础路径计算。</li>
<li>如果用户已经登录，则使用登录用户的账号 key 执行计算，未登录则使用时间戳。</li>
<li>然后解析所有的参数。
<ol>
<li>如果是 pager 参数，则使用<code>&quot;:index&quot; + pager.index + &quot;size&quot; + pager.size</code>。</li>
<li>如果是 criterias 参数，则执行排序后追加参数</li>
</ol>
</li>
<li>最后执行 <code>HMAC-512</code> 基础算法加密，带上超时的 10 分钟。</li>
</ol>
<blockquote>
<p>目前大部分应用并没使用数字签名功能，但后期可以考虑直接引入数字签名加强安全性。</p>
</blockquote>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".THEME"><span class="type-signature">(static, constant) </span>THEME<span class="type-signature"></span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.THEME</code></h2>
<p>风格专用，用来配色的</p>
</div>








        
            
<h4 class="name" id=".X_APP_ID"><span class="type-signature">(static, constant) </span>X_APP_ID<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.X_APP_ID</code></h2>
<pre class="prettyprint source lang-json"><code>import Ux from 'ux';
const value = Ux.Env.X_APP_ID;
</code></pre>
<p>LocalStorage 专用的存储键值（非敏感信息存储）</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".X_APP_KEY"><span class="type-signature">(static, constant) </span>X_APP_KEY<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.X_APP_KEY</code></h2>
<pre class="prettyprint source lang-json"><code>import Ux from 'ux';
const value = Ux.Env.X_APP_KEY;
</code></pre>
<p>LocalStorage 专用的存储键值（敏感信息存储）</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".X_HEADER"><span class="type-signature">(static, constant) </span>X_HEADER<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.X_HEADER</code></h2>
<pre class="prettyprint source lang-json"><code>import Ux from 'ux';
const value = Ux.Env.X_HEADER;
</code></pre>
<p>X 系列的头部专用信息，用于处理 X 系列的核心头部信息，参考下表</p>
<table>
<thead>
<tr>
<th style="text-align:right">变量值</th>
<th style="text-align:left">Http请求头</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right"><code>X_APP_KEY</code></td>
<td style="text-align:left">X-AppKey</td>
<td style="text-align:left">多应用环境处理敏感信息的应用键专用。</td>
</tr>
<tr>
<td style="text-align:right"><code>X_APP_ID</code></td>
<td style="text-align:left">X-AppId</td>
<td style="text-align:left">多应用环境处理普通信息的应用键值专用（带业务）。</td>
</tr>
<tr>
<td style="text-align:right"><code>X_SIGMA</code></td>
<td style="text-align:left">X-Sigma</td>
<td style="text-align:left">平台应用标识符，也称为统一标识符，在多应用环境中用于标识应用（不带业务）。</td>
</tr>
<tr>
<td style="text-align:right"><code>X_LANG</code></td>
<td style="text-align:left">X-Lang</td>
<td style="text-align:left">多语言平台的语言值（头文件识别）。</td>
</tr>
</tbody>
</table>
<blockquote>
<p>通常情况下，<code>X_SIGMA</code>会和租户绑定，实现多租户信息，而<code>X_APP_ID/X_APP_KEY</code>会和租户旗下的应用绑定，一个租户多个应用时则使用应用标识符。</p>
</blockquote>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".X_LANG"><span class="type-signature">(static, constant) </span>X_LANG<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.X_LANG</code></h2>
<pre class="prettyprint source lang-json"><code>import Ux from 'ux';
const value = Ux.Env.X_LANG;
</code></pre>
<p>LocalStorage 专用的存储键值，存储当前应用的语言信息，多语言环境专用。</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".X_SIGMA"><span class="type-signature">(static, constant) </span>X_SIGMA<span class="type-signature"> :string</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.X_SIGMA</code></h2>
<pre class="prettyprint source lang-json"><code>import Ux from 'ux';
const value = Ux.Env.X_SIGMA;
</code></pre>
<p>LocalStorage 专用的存储键值（统一标识专用）</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>






        
            
<h4 class="name" id=".XT_FORMAT"><span class="type-signature">(static, constant) </span>XT_FORMAT<span class="type-signature"> :Object</span></h4>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
</dl>





<div class="description usertext">
    <h2><code>Ux.Env.XT_FORMAT</code></h2>
<p>自定义组件数据格式信息</p>
<ul>
<li>OBJECT：Json对象格式</li>
<li>ARRAY：Json数组格式（对象数组）</li>
<li>ARRAY_PURE: 纯数组格式</li>
</ul>
<p>复杂格式</p>
<ul>
<li>ARRAY_MAP: 按 Unique 键分组专用格式，值为 Object</li>
<li>ARRAY_GROUP：按某个字段分组专用格式，值为 Array</li>
</ul>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>






        
    

    

    

    
</article>

</section>




    
    
</div>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.6</a> on Fri Apr 15 2022 15:55:07 GMT+0800 (China Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
</footer>

<script>prettyPrint();</script>
<script src="scripts/polyfill.js"></script>
<script src="scripts/linenumber.js"></script>

<script src="scripts/search.js" defer></script>



</body>
</html>